package com.pactera.asmp.server.service;

import java.util.List;

import com.pactera.asmp.server.entity.ProjectMastercBindDto;
import com.pactera.asmp.server.entity.ProjectMastercDbcBindDto;
import com.pactera.asmp.server.entity.ResponseResult;
import com.pactera.asmp.server.pojo.MastercProjectDbcVo;
import com.pactera.asmp.server.pojo.ProjectMasterComputerDbc;
import com.pactera.asmp.server.pojo.TProjectMasterComputerDbc;

public interface IProjectMastercDbcService {

    /**
     * 批量插入项目与上位机关联表
     * 
     * @param projectMastercDbcs
     * @return
     */
    int insert(List<TProjectMasterComputerDbc> projectMastercDbcs);
   /**
    * 更新设备、dbc关联
    * 
    * @param projectMastercDbcBindDto
    * @return
    */
   int updateDbc(ProjectMastercDbcBindDto projectMastercDbcBindDto);

   /**
    * 批量删除
    * 
    * @param projectMastercDbcs
    * @return
    */
   int batchDelete(List<TProjectMasterComputerDbc> projectMastercDbcs);

   /**
    * 根据条件查询数据
    * 
    * @param projectId
    * @param masterComputerId
    * @return
    */
   List<TProjectMasterComputerDbc> selective(Integer projectId, Integer masterComputerId);

   /**
    * 项目设备批量绑定
    * 
    * @param projectMastercBindDto
    * @return
    */
   int batchBind(ProjectMastercBindDto projectMastercBindDto);

   /**
    * 修改上位机信息
    * 
    * @param mastercProjectDbcVo
    * @return
    */
   ResponseResult mastercBind(MastercProjectDbcVo mastercProjectDbcVo);

   /**
    * 根据上位机ID获取所有项目绑定的DBC文件
    * 
    * @param masterComputerId
    * @return
    */
   List<ProjectMasterComputerDbc> getProjectMastercDbcsByMastercId(Integer masterComputerId);

}
